package pagerx

import "go.mongodb.org/mongo-driver/bson/primitive"

type Pager struct {
	Page  int64    `json:"page"`  //1为首页
	Size  int64    `json:"size"`  //每页大小
	Total *int64   `json:"total"` //共多少条，这个不用传
	Sort  []string `json:"sort"`  //排序方式，如 ["-_id"]
}

type Start struct {
	StartID *primitive.ObjectID `json:"startId"` //从哪一条数据开始
	Size    int64               `json:"size"`    //每页大小
	Sort    int                 `json:"sort"`    //排序方式，只能用1或-1
}

func (p *Pager) Skip() int64 {
	return (p.Page - 1) * p.Size
}

type ResPager struct {
	Pager   *Pager `json:"pager"`
	Records any    `json:"records" bson:"records"`
}

type ResStart struct {
	Pager   *Start `json:"pager"`
	Records any    `json:"records"`
}
